home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / amiga / raytrace / real3d / shuffle.lha / shuffle.rpl next >
Text File  |  1993-09-05  |  781b  |  40 lines

  1. ( Randomly shuffle selected objects
  2.  
  3. FVARIABLE ShuffFactor
  4.  
  5. : Shuffle
  6.         RANDOM RANDOM F- ShuffFactor F@ F/ ( vector
  7.         RANDOM RANDOM F- ShuffFactor F@ F/
  8.         RANDOM RANDOM F- ShuffFactor F@ F/
  9.         0               ( flags
  10.         M_MOVE
  11. ;
  12.  
  13.  
  14. : Randomize
  15. 5.00 ShuffFactor F!
  16. ShuffFactor "Enter Scale" GET_FLT
  17. NOT IF
  18.         EXIT    ( user aborted
  19. ENDIF
  20. 0.001 ShuffFactor F@ F+ ShuffFactor F! ( stop divide by zero
  21. O_GETSEL
  22. DUP 0 = IF              ( check for no items selected
  23.         "OK" "No objects selected" GET_KEY DROP
  24.         EXIT
  25.         ENDIF
  26.  
  27. iLOCK_EXCL O_LOCK
  28. BEGIN                   ( start loop
  29. 0 SWAP
  30. DUP 0 SWAP
  31. O_SELECT                ( select object
  32. Shuffle                 ( shuffle it around a bit
  33. DUP
  34. 0 =
  35. UNTIL
  36. DROP
  37. iLOCK_REMOVE O_LOCK
  38. lWR_ALL
  39. ;
  40.